package com.haixiaoke.service;

import java.util.List;
import com.haixiaoke.domain.LockYltAccredit;
import com.haixiaoke.vo.YltAuthVo;


/**
 * 亚略特智能锁授权信息Service接口
 *
 * @author qixi
 * @date 2023-06-02
 */
public interface ILockYltAccreditService {
    /**
     * 查询亚略特智能锁授权信息
     *
     * @param id 亚略特智能锁授权信息主键
     * @return 亚略特智能锁授权信息
     */
    LockYltAccredit selectLockYltAccreditById(Long id);

    /**
     * 查询亚略特智能锁授权信息列表
     *
     * @param lockYltAccredit 亚略特智能锁授权信息
     * @return 亚略特智能锁授权信息集合
     */
    List<LockYltAccredit> selectLockYltAccreditList(LockYltAccredit lockYltAccredit);

    /**
     * 新增亚略特智能锁授权信息
     *
     * @param lockYltAccredit 亚略特智能锁授权信息
     * @return 结果
     */
    int insertLockYltAccredit(LockYltAccredit lockYltAccredit);

    /**
     * 修改亚略特智能锁授权信息
     *
     * @param lockYltAccredit 亚略特智能锁授权信息
     * @return 结果
     */
    int updateLockYltAccredit(LockYltAccredit lockYltAccredit);

    /**
     * 批量删除亚略特智能锁授权信息
     *
     * @param ids 需要删除的亚略特智能锁授权信息主键集合
     * @return 结果
     */
    int deleteLockYltAccreditByIds(Long[] ids);

    /**
     * 删除亚略特智能锁授权信息信息
     *
     * @param id 亚略特智能锁授权信息主键
     * @return 结果
     */
    int deleteLockYltAccreditById(Long id);

    /**
     * 根据设备号查询授权信息
     * @param sn
     * @return
     */
    YltAuthVo getYLTAuthInfoBySNAndIdentification(String sn,String identification);

    LockYltAccredit selectLockYltAccreditByLockSNAndIdentification(String sn,String identification);

    int deleteLockYltAccreditByLockSN(String sn);

    List<YltAuthVo> getYLTAuthInfoList(String sn);
}
